Motion Planning for Self-Driving Cars——Module 1 The Planning Problem

[toc]

Course Introduction

Welcome to the Course - 3 min

1. What is motion planning?

the motion planning problem is the task of generating the path and velocities required to get the autonomous car from point A to point B.

2. decompose the motion planning into smaller sub-problems

image


Module 1: The Planning Problem

Lesson 1: Driving Missions, Scenarios, and Behaviour

关键概念

  • Explain what the autonomous driving high-level mission entails.
    navigate from current position to a destination.
  • Recall the set of important basic driving scenarios.
    road structure (turns, lane changes) , obstacles
  • Develop a set of driving behaviours to handle most basic driving scenarios.
    Speed Tracking, Decelerate to Stop, Stay Stopped, Yield, Emergency Stop
  • Recognize important constraints for autonomous driving motion planning.
  • Explain the functionality of each step in a hierarchical motion planner.
  • List some variants of each step of a hierarchical motion planner.
  • The motion planning problem is the task of navigating the ego vehicle to its destination in a safe and comfortable manner while following the rules of the road.

Autonomous Driving Mission:目标找出最高效的路

为了更高效,抽象了许多底层的变量,但是这些底层的很重要定义了不同的驾驶场景

Road Structure Scenario:

  • 保持车道lane maintenance,目标偏离中心线最小 但要保证速度
  • 变道lane change
  • 转弯
  • 掉头U-turn

Obstacle Scenarios

  • static
  • dynamic:Different dynamic obstacles in the scenario have different characteristics and behaviours

Behavior

  • Speed Tracking
  • Decelerate to Stop
  • Stay Stopped
  • Yield
  • Emergency Stop
    (Not an exhaustive list)

Challenges

  • 许多违反交规的行为难以预测

Hierarchical Planning Introduction

  • motion planning是一个复杂问题,将其分层优化,如下图
    分层优化
    每一个子优化问题有自己的目标和限制

Lesson 2: Motion Planning Constraint

image.png

Bicycle Model

  • 路径上的曲率要注意最大曲率限制

  • 是一个non-holonomic约束(不仅取决于当前状态,也取决于如何到达该状态)

    通俗地讲, holonomic constraint是configuration space上的约束,它告诉你哪里不能走, nonholonomic constraint是速度(广义坐标的微分)上的约束,它告诉你哪些方向不能走,但是你依然能想去哪里去哪里。

  • 曲率计算:
    image.png

Vehicle Dynamics

  • 横向和纵向的加速限制(摩擦力椭圆)
  • 在非紧急情况下,更有用的限制是乘客对加速度的容忍度(下图矩形所示)
    image.png
    因此速度受限于加速度和曲率v2aκv^{2}\leq \frac{a}{\kappa }

Static obstacles

  • 使用线束或一系列近似车身的圆去做碰撞检测

Dynamic Obstacles

  • 涉及到障碍物行为的预测。如果预测所有,就太过保守无意义,做aggressive和conservative之前的tradeoff——热点研究

Rules of the road and regulatory elements

  • 车道线和一些标识

  • time gap

    the amount of time that it would take for the ego vehicle to reach the leading vehicles current position while traveling at the ego vehicle’s current speed


Lesson 3: Objective Functions for Autonomous Driving

image.png
image.png
相当于加速度

  • 曲率

0sfκ(s)2ds\int_{0}^{s_{f}}\|\kappa(s)\|^{2} d s

既要保持速度,又让乘客舒适

Lesson 4: Hierarchical Motion Planning

分层以后每一层计算会快,但同时每一层会损失其他层的信息。和不分层比存在一个trade off

Mission Planner

地图级别的导航,最短路Dijkstra,A*

Behavioural Planner

  • 如何考虑周围并产生行为
  • 有限状态机,无记忆——转换只和输入和当前状态有关

image.png

  • Rule-based
    • 多个规则同时符合的话,高优先级的规则先应用
  • 基于机器学习

Local Planner

产生避免碰撞的路线和舒适的velocity profile,分两部分

  • 路线方面:
  1. sampling based planner
    image.png
  2. Variation Planner 将路径和速度产生合并在一起 chomp Algorithm
    image.png
  3. lattice planner
    image.png
  • 速度产生:

Lesson 3中对速度的一些优化作为目标限制,凸优化